// 权限映射
let roleMap = {
	"申请政策": {
		"非企业法人用户": "no",
		"线索库企业用户": "ok"
	},
	"发布招聘": {
		"非企业法人用户": "no",
		"线索库企业用户": "no"
	},
	"楼宇业主认证": {
		"非企业法人用户": "ok",
		"线索库企业用户": "ok"
	},
	"发布楼宇": {
		"非企业法人用户": "ok",
		"线索库企业用户": "ok"
	},
	"投资机构认证": {
		"非企业法人用户": "no",
		"线索库企业用户": "no"
	},
	"服务机构认证": {
		"非企业法人用户": "no",
		"线索库企业用户": "no"
	},
	"联系楼宇": {
		"非企业法人用户": "ok",
		"线索库企业用户": "ok"
	},
	"线上课程报名": {
		"非企业法人用户": "ok",
		"线索库企业用户": "ok"
	},
	"培训活动报名": {
		"非企业法人用户": "no",
		"线索库企业用户": "no"
	},
	"发布融资诉求": {
		"非企业法人用户": "no",
		"线索库企业用户": "no"
	},
	"发布其他诉求": {
		"非企业法人用户": "no",
		"线索库企业用户": "no"
	},
	"金融产品申请": {
		"非企业法人用户": "no",
		"线索库企业用户": "no"
	}
}

import {relogin} from '@/utils/util'
import { Message } from 'element-ui'

// 检查权限
export default function checkRole(applyType, callback) {
	// clueType 0裕华区内企业 1裕华区外企业 2非中华人民共和国大陆地区企业 3非法人单位
	// clueSource 0人工认证、1非人工认证
  let comStr = localStorage.getItem('companyInfo')
	let data = JSON.parse(comStr ? comStr : '{}') // 企业类型
	let {clueType, clueSource, checkStatus} = data ? data : {}
	if(clueSource === undefined){
		clueSource = JSON.parse(localStorage.getItem('login')).clueSource;
	}
	// console.log("clueType, clueSource, checkStatus",clueType, clueSource, checkStatus)
	// console.log("data",data)
	let eType = 0
	if(clueType == undefined) {
		eType = 0
	}
	if((clueType == 0 || clueType == 1) && clueSource == 1) {
		eType = 3 // 基础库企业用户 = 直接校验通过的用户
	} else {
		if((clueType == 0 || clueType == 1 || clueType == 2) && clueSource == 0) {
			eType = 2 // 线索库企业用户 = 人工认证（裕华区内+裕华区外+非中国大陆企业）
		}else if(clueType == 3) {
			eType = 1	// 非企业法人用户 = 非法人单位
		}else if(checkStatus != 1 && checkStatus != undefined) {
			eType = 4
		}
	}
	// console.log((clueType == 0 || clueType == 1 || clueType == 2) && clueSource == 0)
	// console.log("eType",eType)
  switch(eType) {
    case 0:
      Message.error("您需要登录才能访问当前页面，请先登录")
      relogin(this)
			// this.$message.error("请先登录")
      break;
    case 1:
			roleMap[applyType]["非企业法人用户"] == 'ok' ? callback() : this.$message.error("仅限裕华区内认证企业可用")
      break;
		case 2:
			roleMap[applyType]["线索库企业用户"] == 'ok' ? callback() : this.$message.error("仅限裕华区内认证企业可用")
			break;
    case 3:
      callback()
      break;
		case 4:
			this.$message.error("未经企业认证，请认证通过后使用")
			break;
  }
}
